package com.demo.infrastructure.gateway;

import com.demo.infrastructure.gateway.dto.WeiXinTemplateMessageDTO;
import com.demo.infrastructure.gateway.dto.WeiXinTokenResponseDTO;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * 实现tools服务
 */
public interface IWeiXinApiService {
    /**
     *
     * @param grantType 获取access_token填写client_credential
     * @param appId 第三方用户唯一凭证
     * @param appSecret 第三方用户唯一凭证密钥，即appsecret
     * @return
     */
    @GET("cgi-bin/token")
    Call<WeiXinTokenResponseDTO> getToken(
            @Query("grant_type") String grantType,
            @Query("appid") String appId,
            @Query("secret") String appSecret
    );

    /**
     * 发送微信公众号模板消息
     * @param accessToken
     * @param weixinTemplateMessageDTO
     * @return
     */
    @POST("cgi-bin/message/template/send")
    Call<Void> sendMessage(@Query("access_token") String accessToken, @Body WeiXinTemplateMessageDTO weixinTemplateMessageDTO);
}
